package com.zhuiyun.project.api.sysUser.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 系统用户模型类
 *
 * @auther zcy
 * @data 2023/03/28 18:10
 */
@ApiModel("用户模型类")
@Data
public class SysUserModel implements Serializable {

    @ApiModelProperty("主键id新增时无需填写")
    private Integer id;
    /**
     * 用户名
     */
    @NotBlank(message = "用户名不能为空")
    @ApiModelProperty("用户名")
    private String userName;
    /**
     * 登录名
     */
    @NotBlank(message = "登录名不能为空")
    @ApiModelProperty("登录名")
    private String loginName;
    @NotBlank(message = "密码不能为空")
    @ApiModelProperty("密码")
    private String password;


    /**
     * 电话
     */
    @NotBlank(message = "电话不能为空")
    @ApiModelProperty("电话")
    private String phone;
    /**
     * 邮箱
     */
    @NotBlank(message = "邮箱不能为空")
    @ApiModelProperty("邮箱")
    private String email;
    /**
     * 头像id
     */
    @ApiModelProperty("头像id")
    private String avatarId;
    /**
     * 年龄
     */
    @ApiModelProperty("年龄")
    private Integer age;
    /**
     * 用户地址
     */
    @ApiModelProperty("用户地址")
    private String address;
    /**
     * 用户创建时间
     */
    @ApiModelProperty("用户创建时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date updateTime;
    /**
     * 创建人 可以是创建方式  系统创建还是自己申请
     */
    @ApiModelProperty("创建人 可以是创建方式  系统创建还是自己申请")
    private String createUser;
    /**
     * 修改人
     */
    @ApiModelProperty("修改人")
    private String updateUser;
    /**
     * 最后登陆IP
     */
    @ApiModelProperty("最后登陆IP")
    private String lastLoginIp;
    /**
     * 最后登陆日期
     */
    @ApiModelProperty("最后登陆日期")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss" )//DateTimeFormat 是入参格式化；
    private Date lastLoginTime;
    /**
     * 排序号
     */
    @ApiModelProperty("排序号")
    private Integer sortNo;
    /**
     * 用户状态 0 启用 1 禁用 2 注销
     */
    @ApiModelProperty("用户状态 0 启用 1 禁用 2 注销")
    private Integer userFlag;
    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remarks;
    /**
     * 逻辑删除(0未删除，1已删除)
     */
    @ApiModelProperty("逻辑删除(0未删除，1已删除)")
    private Integer is_del;
    /**
     * 金额
     */
    @ApiModelProperty("金额")
    private BigDecimal amount;

    /**
     * 用户用途（0：app，1：后台）
     */
    @ApiModelProperty("用户用途")
    private Integer userState;

    private Integer registerFlag;

    /**
     * 验证码 注册时使用
     */
    private String captcha;
    /**
     * 旧密码
     */
    @ApiModelProperty("旧密码")
    private String oldPassword;
    /**
     * 新密码
     */
    @ApiModelProperty("新密码")
    private String newPassword;

    private String wechatQrCode;

    private String alipayQrCode;

    /**
     * qq
     */
    private String qq;
}
